<template>
  <div class="about">
    <!-- <h1>This is an about page(我的实验 基地)</h1> -->
  </div>
</template>
<script>
// const proimise = new promise(function (resolve, reject) {
//这是一个实例 new 的实例对象 在条件成功者resolve 不成立 就返回reject
//成功和失败的状态确认取决于成功和失败状态那个先调用
//状态确认则不在改
//   if (a > 2) {
//     //返回成功的
//     resolve("value");
//   } else {
//     //失败的
//     reject("error");
//   }
//   //resolve reject是两个js提供的函数 作用是将状态修改 和返回参数
// });

// let psr = new Promise();
// console.log(psr);
// //then
// 在promise 实例生成后 可以用 .then来接受 resolve reject的返回值 参数是两个函数的返回值
//其中第一个参数 接受的是resolve 第二个参数接受的是reject 第二个参数非必须选可以不接
// let prom = new promise(function (resolve, reject) {});

// console.log(prom);

// const promise = new Promise(function (resolve, reject) {
//   if (1 > 2) {
//     resolve("value");
//   } else {
//     reject("error");
//   }
// });

let promise = new Promise(function (resolve, reject) {
  if (10 > 3) {
    resolve(new Erroy("失败"));
  } else {
    reject();
  }
});
//
promise.then(
  function (resolve) {
    console.log(resolve);
  },
  function (reject) {
    console.log(reject);
  }
);

const promise2 = new Promise(function (resolve, reject) {
  reject(promise);
});

promise2.then(
  function (value) {
    // console.log(value);
  },
  function (error) {
    // console.log(error);
  }
);
// function promisey(um) {
//   return new Promise(function (resolve, reject) {
//     if (um > 3) {
//       resolve("大于");
//     } else {
//       reject("小于");
//     }
//   });
// }

// promisey(0).then(function(value){
//   console.log(value)
// },function(error){
//   console.log(error)
// })

const p1 = new Promise(function (resolve, reject) {
  setTimeout(() => reject(new Error("fail")), 3000);
});

const p2 = new Promise(function (resolve, reject) {
  setTimeout(() => resolve(p1), 1000);
});

p2.then((result) => console.log(result)).catch((error) => console.log(error));

</script>
